﻿/*
 
下面我们再做个例子，是一个利用for和foreach循环做的存取数组元素的例子，首先提示用户输入学生的个数，然后把学生个数作为存储学生姓名的数组names的元素个数，采用for循环按照数组的索引i从0位开始循环输出"输入学生姓名"的提示，并把用户输入的学生姓名按照其在数组的索引方式names[i]存储在names数组中，for循环次数的最大值（即索引的最大值）通过数组属性.Length得到，我们说过容量与索引之间的关系是index=Array.Length-1,本题即i的最大值

必须注意的是，借助foreach，只能一一取得数组中的元素，并不能利用这种语句改变数组所存储的元素。 

 */
using System;

class Program
{
    static void Main()
    {
        int count;
        Console.WriteLine("请输入您要登记的学生人数");
        count = int.Parse(Console.ReadLine());
        //声明一个存放姓名的字符串数组，其长度等于提供的学生人数
        string[] names = new string[count]; // 数组声明names，元素个数为count
        // 用一个 for 循环来接受姓名
        for (int i = 0; i < names.Length; i++) // 采用for循环，用Length属性得到数组的容量，初始化数组元素，利用索引方法给names[i]元素存储学生姓名，i为数组的索引。
        {
            Console.WriteLine("请输入学生{0}的姓名：", i + 1);
            names[i] = Console.ReadLine();
        }

        Console.WriteLine("已登记的学生如下：");
        // 用 foreach 循环显示姓名
        foreach (string name in names) //将存储姓名的names数组中的每个元素names[i]，赋给name变量输出每个学生的姓名。
        {
            Console.WriteLine("{0}", name);
        }

        Console.ReadKey();
    }
}